<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="robots" content="noindex">

	<title>File Home/Model/QnUploadModel.class.php | XY Server API alpha</title>

	<link rel="stylesheet" href="resources/style.css?e99947befd7bf673c6b43ff75e9e0f170c88a60e">

</head>

<body>
<div id="left">
	<div id="menu">
		<a href="index.html" title="Overview"><span>Overview</span></a>


		<div id="groups">
				<h3>Namespaces</h3>
			<ul>
				<li>
					<a href="namespace-Behavior.html">
						Behavior					</a>

						</li>
				<li>
					<a href="namespace-DatebaseSQL.html">
						DatebaseSQL					</a>

						</li>
				<li>
					<a href="namespace-Doc.html">
						Doc					</a>

						</li>
				<li>
					<a href="namespace-ErrorCode.html">
						ErrorCode					</a>

						</li>
				<li>
					<a href="namespace-Home.html">
						Home<span></span>
					</a>

						<ul>
				<li>
					<a href="namespace-Home.Controller.html">
						Controller					</a>

						</li>
				<li>
					<a href="namespace-Home.Model.html">
						Model					</a>

						</li>
							</ul></li>
				<li>
					<a href="namespace-None.html">
						None					</a>

						</li>
				<li>
					<a href="namespace-Think.html">
						Think					</a>

						</li>
			</ul>
		</div>

		<hr>


		<div id="elements">
			<h3>Classes</h3>
			<ul>
				<li><a href="class-AccountModelTest.html">AccountModelTest</a></li>
				<li><a href="class-BaseTest.html">BaseTest</a></li>
				<li><a href="class-Behavior.BuildLiteBehavior.html">Behavior\BuildLiteBehavior</a></li>
				<li><a href="class-Behavior.ContentReplaceBehavior.html">Behavior\ContentReplaceBehavior</a></li>
				<li><a href="class-Behavior.ParseTemplateBehavior.html">Behavior\ParseTemplateBehavior</a></li>
				<li><a href="class-ErrorCode.ErrorCode.html">ErrorCode\ErrorCode</a></li>
				<li><a href="class-Home.Controller.AccountController.html">Home\Controller\AccountController</a></li>
				<li><a href="class-Home.Controller.ApplyController.html">Home\Controller\ApplyController</a></li>
				<li><a href="class-Home.Controller.AuthController.html">Home\Controller\AuthController</a></li>
				<li><a href="class-Home.Controller.BaseController.html">Home\Controller\BaseController</a></li>
				<li><a href="class-Home.Controller.CarlicenseController.html">Home\Controller\CarlicenseController</a></li>
				<li><a href="class-Home.Controller.CompanyController.html">Home\Controller\CompanyController</a></li>
				<li><a href="class-Home.Controller.ConfigController.html">Home\Controller\ConfigController</a></li>
				<li><a href="class-Home.Controller.ContactController.html">Home\Controller\ContactController</a></li>
				<li><a href="class-Home.Controller.CusListController.html">Home\Controller\CusListController</a></li>
				<li><a href="class-Home.Controller.DepartmentController.html">Home\Controller\DepartmentController</a></li>
				<li><a href="class-Home.Controller.EmptyController.html">Home\Controller\EmptyController</a></li>
				<li><a href="class-Home.Controller.EverydaySummarySheetController.html">Home\Controller\EverydaySummarySheetController</a></li>
				<li><a href="class-Home.Controller.FaceRecController.html">Home\Controller\FaceRecController</a></li>
				<li><a href="class-Home.Controller.FeedbackController.html">Home\Controller\FeedbackController</a></li>
				<li><a href="class-Home.Controller.FinanceController.html">Home\Controller\FinanceController</a></li>
				<li><a href="class-Home.Controller.GeneratorController.html">Home\Controller\GeneratorController</a></li>
				<li><a href="class-Home.Controller.GoodController.html">Home\Controller\GoodController</a></li>
				<li><a href="class-Home.Controller.HomeController.html">Home\Controller\HomeController</a></li>
				<li><a href="class-Home.Controller.IndexController.html" class="invalid">Home\Controller\IndexController</a></li>
				<li><a href="class-Home.Controller.InstallController.html">Home\Controller\InstallController</a></li>
				<li><a href="class-Home.Controller.LoginController.html">Home\Controller\LoginController</a></li>
				<li><a href="class-Home.Controller.OrderController.html">Home\Controller\OrderController</a></li>
				<li><a href="class-Home.Controller.OtherController.html">Home\Controller\OtherController</a></li>
				<li><a href="class-Home.Controller.ParkaddressController.html">Home\Controller\ParkaddressController</a></li>
				<li><a href="class-Home.Controller.PaybillController.html">Home\Controller\PaybillController</a></li>
				<li><a href="class-Home.Controller.PaymentDetailsController.html">Home\Controller\PaymentDetailsController</a></li>
				<li><a href="class-Home.Controller.PhonenumController.html">Home\Controller\PhonenumController</a></li>
				<li><a href="class-Home.Controller.PrintTemplateController.html">Home\Controller\PrintTemplateController</a></li>
				<li><a href="class-Home.Controller.QnUploadController.html">Home\Controller\QnUploadController</a></li>
				<li><a href="class-Home.Controller.QueryController.html">Home\Controller\QueryController</a></li>
				<li><a href="class-Home.Controller.RealDataGeneratorController.html">Home\Controller\RealDataGeneratorController</a></li>
				<li><a href="class-Home.Controller.SkuStorageController.html">Home\Controller\SkuStorageController</a></li>
				<li><a href="class-Home.Controller.SmsDetailsController.html">Home\Controller\SmsDetailsController</a></li>
				<li><a href="class-Home.Controller.StatementOfAccountController.html">Home\Controller\StatementOfAccountController</a></li>
				<li><a href="class-Home.Controller.StorageController.html">Home\Controller\StorageController</a></li>
				<li><a href="class-Home.Controller.UpdateController.html">Home\Controller\UpdateController</a></li>
				<li><a href="class-Home.Controller.UpdateDatabaseFormatController.html">Home\Controller\UpdateDatabaseFormatController</a></li>
				<li><a href="class-Home.Controller.UserAccountController.html">Home\Controller\UserAccountController</a></li>
				<li><a href="class-Home.Controller.UserController.html">Home\Controller\UserController</a></li>
				<li><a href="class-Home.Controller.UtilController.html">Home\Controller\UtilController</a></li>
				<li><a href="class-Home.Controller.WarehouseController.html">Home\Controller\WarehouseController</a></li>
				<li><a href="class-Home.Model.AccountModel.html">Home\Model\AccountModel</a></li>
				<li><a href="class-Home.Model.ApplyModel.html">Home\Model\ApplyModel</a></li>
				<li><a href="class-Home.Model.AsynTasksModel.html">Home\Model\AsynTasksModel</a></li>
				<li><a href="class-Home.Model.AuthGroupAccessModel.html">Home\Model\AuthGroupAccessModel</a></li>
				<li><a href="class-Home.Model.AuthGroupModel.html">Home\Model\AuthGroupModel</a></li>
				<li><a href="class-Home.Model.AuthRuleModel.html">Home\Model\AuthRuleModel</a></li>
				<li><a href="class-Home.Model.BaseadvModel.html">Home\Model\BaseadvModel</a></li>
				<li><a href="class-Home.Model.CarlicenseModel.html">Home\Model\CarlicenseModel</a></li>
				<li><a href="class-Home.Model.CatModel.html">Home\Model\CatModel</a></li>
				<li><a href="class-Home.Model.CompanyModel.html">Home\Model\CompanyModel</a></li>
				<li><a href="class-Home.Model.ConfigModel.html">Home\Model\ConfigModel</a></li>
				<li><a href="class-Home.Model.ContactModel.html">Home\Model\ContactModel</a></li>
				<li><a href="class-Home.Model.CusListModel.html">Home\Model\CusListModel</a></li>
				<li><a href="class-Home.Model.DepartmentModel.html">Home\Model\DepartmentModel</a></li>
				<li><a href="class-Home.Model.EverydaySummarySheetModel.html">Home\Model\EverydaySummarySheetModel</a></li>
				<li><a href="class-Home.Model.FaceRecModel.html">Home\Model\FaceRecModel</a></li>
				<li><a href="class-Home.Model.FeedbackModel.html">Home\Model\FeedbackModel</a></li>
				<li><a href="class-Home.Model.FinanceModel.html">Home\Model\FinanceModel</a></li>
				<li><a href="class-Home.Model.GoodModel.html">Home\Model\GoodModel</a></li>
				<li><a href="class-Home.Model.OrderModel.html">Home\Model\OrderModel</a></li>
				<li><a href="class-Home.Model.OtherModel.html">Home\Model\OtherModel</a></li>
				<li><a href="class-Home.Model.ParkaddressModel.html">Home\Model\ParkaddressModel</a></li>
				<li><a href="class-Home.Model.PaybillModel.html">Home\Model\PaybillModel</a></li>
				<li><a href="class-Home.Model.PaymentDetailsModel.html">Home\Model\PaymentDetailsModel</a></li>
				<li><a href="class-Home.Model.PhonenumModel.html">Home\Model\PhonenumModel</a></li>
				<li><a href="class-Home.Model.PinYin.html">Home\Model\PinYin</a></li>
				<li><a href="class-Home.Model.PrintTemplateModel.html">Home\Model\PrintTemplateModel</a></li>
				<li><a href="class-Home.Model.QnUploadModel.html">Home\Model\QnUploadModel</a></li>
				<li><a href="class-Home.Model.QueryModel.html">Home\Model\QueryModel</a></li>
				<li><a href="class-Home.Model.SkuBillModel.html">Home\Model\SkuBillModel</a></li>
				<li><a href="class-Home.Model.SkuCidPriceModel.html">Home\Model\SkuCidPriceModel</a></li>
				<li><a href="class-Home.Model.SkuModel.html">Home\Model\SkuModel</a></li>
				<li><a href="class-Home.Model.SkuStorageModel.html">Home\Model\SkuStorageModel</a></li>
				<li><a href="class-Home.Model.SmsDetailsModel.html">Home\Model\SmsDetailsModel</a></li>
				<li><a href="class-Home.Model.SpuModel.html">Home\Model\SpuModel</a></li>
				<li><a href="class-Home.Model.StatementAccountModel.html">Home\Model\StatementAccountModel</a></li>
				<li><a href="class-Home.Model.StorageModel.html">Home\Model\StorageModel</a></li>
				<li><a href="class-Home.Model.UpdateDatabaseFormatModel.html">Home\Model\UpdateDatabaseFormatModel</a></li>
				<li><a href="class-Home.Model.UserAccountModel.html">Home\Model\UserAccountModel</a></li>
				<li><a href="class-Home.Model.UserModel.html">Home\Model\UserModel</a></li>
				<li><a href="class-Home.Model.UtilModel.html">Home\Model\UtilModel</a></li>
				<li><a href="class-Home.Model.WarehouseModel.html">Home\Model\WarehouseModel</a></li>
				<li><a href="class-IndexTest.html" class="invalid">IndexTest</a></li>
				<li><a href="class-OrderTest.html">OrderTest</a></li>
				<li><a href="class-SkuTest.html" class="invalid">SkuTest</a></li>
				<li><a href="class-StorageTest.html">StorageTest</a></li>
				<li><a href="class-Think.App.html">Think\App</a></li>
				<li><a href="class-Think.Controller.html">Think\Controller</a></li>
				<li><a href="class-Think.Dispatcher.html">Think\Dispatcher</a></li>
				<li><a href="class-Think.Hook.html">Think\Hook</a></li>
				<li><a href="class-Think.Route.html">Think\Route</a></li>
				<li><a href="class-Think.View.html">Think\View</a></li>
				<li><a href="class-tpunit.html">tpunit</a></li>
				<li><a href="class-WarehouseTest.html">WarehouseTest</a></li>
			</ul>



			<h3>Exceptions</h3>
			<ul>
				<li><a href="class-XYException.html">XYException</a></li>
			</ul>


			<h3>Functions</h3>
			<ul>
				<li><a href="function-A.html">A</a></li>
				<li><a href="function-array_map_recursive.html">array_map_recursive</a></li>
				<li><a href="function-B.html">B</a></li>
				<li><a href="function-C.html">C</a></li>
				<li><a href="function-compile.html">compile</a></li>
				<li><a href="function-controller.html">controller</a></li>
				<li><a href="function-cookie.html">cookie</a></li>
				<li><a href="function-D.html">D</a></li>
				<li><a href="function-data_auth_sign.html">data_auth_sign</a></li>
				<li><a href="function-data_to_xml.html">data_to_xml</a></li>
				<li><a href="function-DatebaseSQL.datebaseSQL.html">DatebaseSQL\datebaseSQL</a></li>
				<li><a href="function-Doc.doc_view.html">Doc\doc_view</a></li>
				<li><a href="function-dump.html">dump</a></li>
				<li><a href="function-E.html">E</a></li>
				<li><a href="function-F.html">F</a></li>
				<li><a href="function-file_exists_case.html">file_exists_case</a></li>
				<li><a href="function-findSubStr.html">findSubStr</a></li>
				<li><a href="function-G.html">G</a></li>
				<li><a href="function-get_client_ip.html">get_client_ip</a></li>
				<li><a href="function-getAdminUid.html">getAdminUid</a></li>
				<li><a href="function-getLenOfDeciNum.html">getLenOfDeciNum</a></li>
				<li><a href="function-getRpg.html">getRpg</a></li>
				<li><a href="function-getUid.html">getUid</a></li>
				<li><a href="function-guid.html">guid</a></li>
				<li><a href="function-I.html">I</a></li>
				<li><a href="function-import.html">import</a></li>
				<li><a href="function-in_array_case.html">in_array_case</a></li>
				<li><a href="function-is_login.html">is_login</a></li>
				<li><a href="function-is_ssl.html">is_ssl</a></li>
				<li><a href="function-isInt.html">isInt</a></li>
				<li><a href="function-isLegalCurrency.html">isLegalCurrency</a></li>
				<li><a href="function-isNonegativeReal.html">isNonegativeReal</a></li>
				<li><a href="function-isNonnegativeInt.html">isNonnegativeInt</a></li>
				<li><a href="function-isPositiveReal.html">isPositiveReal</a></li>
				<li><a href="function-isUnsignedInt.html">isUnsignedInt</a></li>
				<li><a href="function-L.html">L</a></li>
				<li><a href="function-layout.html">layout</a></li>
				<li><a href="function-load.html">load</a></li>
				<li><a href="function-load_config.html">load_config</a></li>
				<li><a href="function-load_ext_file.html">load_ext_file</a></li>
				<li><a href="function-loadConfig.html">loadConfig</a></li>
				<li><a href="function-loadConfig_key.html">loadConfig_key</a></li>
				<li><a href="function-loadConfigFile.html">loadConfigFile</a></li>
				<li><a href="function-loadLocalConfig.html">loadLocalConfig</a></li>
				<li><a href="function-log_.html">log_</a></li>
				<li><a href="function-M.html">M</a></li>
				<li><a href="function-N.html">N</a></li>
				<li><a href="function-parse_name.html">parse_name</a></li>
				<li><a href="function-parse_res_name.html">parse_res_name</a></li>
				<li><a href="function-R.html">R</a></li>
				<li><a href="function-redirect.html">redirect</a></li>
				<li><a href="function-require_cache.html">require_cache</a></li>
				<li><a href="function-S.html">S</a></li>
				<li><a href="function-send_http_status.html">send_http_status</a></li>
				<li><a href="function-session.html">session</a></li>
				<li><a href="function-strip_whitespace.html">strip_whitespace</a></li>
				<li><a href="function-T.html">T</a></li>
				<li><a href="function-tag.html">tag</a></li>
				<li><a href="function-think_filter.html">think_filter</a></li>
				<li><a href="function-think_ucenter_decrypt.html">think_ucenter_decrypt</a></li>
				<li><a href="function-think_ucenter_encrypt.html">think_ucenter_encrypt</a></li>
				<li><a href="function-think_ucenter_md5.html">think_ucenter_md5</a></li>
				<li><a href="function-throw_exception.html">throw_exception</a></li>
				<li><a href="function-to_guid_string.html">to_guid_string</a></li>
				<li><a href="function-trace.html">trace</a></li>
				<li><a href="function-U.html">U</a></li>
				<li><a href="function-vendor.html">vendor</a></li>
				<li><a href="function-W.html">W</a></li>
				<li><a href="function-xml_encode.html">xml_encode</a></li>
				<li><a href="function-xyadd.html">xyadd</a></li>
				<li><a href="function-xycomp.html">xycomp</a></li>
				<li><a href="function-xydiv.html">xydiv</a></li>
				<li><a href="function-xymod.html">xymod</a></li>
				<li><a href="function-xymul.html">xymul</a></li>
				<li><a href="function-xyround.html">xyround</a></li>
				<li><a href="function-xysub.html">xysub</a></li>
				<li><a href="function-yaml_parse_file.html">yaml_parse_file</a></li>
			</ul>
		</div>
	</div>
</div>

<div id="splitter"></div>

<div id="right">
<div id="rightInner">
	<form id="search">
		<input type="hidden" name="cx" value="">
		<input type="hidden" name="ie" value="UTF-8">
		<input type="text" name="q" class="text" placeholder="Search">
	</form>

	<div id="navigation">
		<ul>
			<li>
				<a href="index.html" title="Overview"><span>Overview</span></a>
			</li>
			<li>
<span>Namespace</span>			</li>
			<li>
<span>Class</span>			</li>
		</ul>
		<ul>
			<li>
				<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
			</li>
				<li>
					<a href="annotation-group-api.html" title="List of elements with api annotation">
						<span>Api</span>
					</a>
				</li>
				<li>
					<a href="annotation-group-version.html" title="List of elements with version annotation">
						<span>Version</span>
					</a>
				</li>
				<li>
					<a href="annotation-group-since.html" title="List of elements with since annotation">
						<span>Since</span>
					</a>
				</li>
				<li>
					<a href="annotation-group-deprecated.html" title="List of elements with deprecated annotation">
						<span>Deprecated</span>
					</a>
				</li>
				<li>
					<a href="annotation-group-todo.html" title="List of elements with todo annotation">
						<span>Todo</span>
					</a>
				</li>
		</ul>
		<ul>
		</ul>
	</div>

<pre><code><span id="1" class="l"><a href="#1"> 1: </a><span class="xlang">&lt;?php</span>
</span><span id="2" class="l"><a href="#2"> 2: </a><span class="php-keyword1">namespace</span> Home\Model;
</span><span id="3" class="l"><a href="#3"> 3: </a><span class="php-keyword1">require</span> <span class="php-keyword2">dirname</span>(__FILE__).<span class="php-quote">'/../../../vendor/autoload.php'</span>;
</span><span id="4" class="l"><a href="#4"> 4: </a><span class="php-keyword1">use</span> Think\Model;
</span><span id="5" class="l"><a href="#5"> 5: </a><span class="php-keyword1">use</span> Qiniu\Auth;
</span><span id="6" class="l"><a href="#6"> 6: </a><span class="php-keyword1">use</span> Qiniu\Storage\BucketManager;
</span><span id="7" class="l"><a href="#7"> 7: </a><span class="php-keyword1">use</span> Qiniu\Storage\UploadManager;
</span><span id="8" class="l"><a href="#8"> 8: </a><span class="php-comment">/**
</span></span><span id="9" class="l"><a href="#9"> 9: </a><span class="php-comment"> * Created by PhpStorm.
</span></span><span id="10" class="l"><a href="#10">10: </a><span class="php-comment"> * User: dizzylee
</span></span><span id="11" class="l"><a href="#11">11: </a><span class="php-comment"> * Date: 2017/7/18
</span></span><span id="12" class="l"><a href="#12">12: </a><span class="php-comment"> * Time: 上午11:58
</span></span><span id="13" class="l"><a href="#13">13: </a><span class="php-comment"> */</span>
</span><span id="14" class="l"><a href="#14">14: </a>
</span><span id="15" class="l"><a href="#15">15: </a><span class="php-keyword1">class</span> QnUploadModel <span class="php-keyword1">extends</span> BaseadvModel
</span><span id="16" class="l"><a href="#16">16: </a>{
</span><span id="17" class="l"><a href="#17">17: </a>    <span class="php-comment">/**
</span></span><span id="18" class="l"><a href="#18">18: </a><span class="php-comment">     * 图片上传接口
</span></span><span id="19" class="l"><a href="#19">19: </a><span class="php-comment">     * @param $imgDataBase64 图片用base64加密之后的数据
</span></span><span id="20" class="l"><a href="#20">20: </a><span class="php-comment">     * @param $name 唯一识别码(图片名,不带后缀)
</span></span><span id="21" class="l"><a href="#21">21: </a><span class="php-comment">     * @return mixed
</span></span><span id="22" class="l"><a href="#22">22: </a><span class="php-comment">     * @throws \XYException
</span></span><span id="23" class="l"><a href="#23">23: </a><span class="php-comment">     * @author DizzyLee&lt;728394036@qq.com&gt;
</span></span><span id="24" class="l"><a href="#24">24: </a><span class="php-comment">     */</span>
</span><span id="25" class="l"><a href="#25">25: </a>    <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> uploadImgToQiniu(<span class="php-var">$imgDataBase64</span> = <span class="php-keyword1">null</span>,<span class="php-var">$name</span> = <span class="php-keyword1">null</span>)
</span><span id="26" class="l"><a href="#26">26: </a>    {
</span><span id="27" class="l"><a href="#27">27: </a>        <span class="php-var">$base64_image</span> = <span class="php-keyword2">str_replace</span>(<span class="php-quote">' '</span>, <span class="php-quote">'+'</span>, <span class="php-var">$imgDataBase64</span>);
</span><span id="28" class="l"><a href="#28">28: </a>        <span class="php-comment">//匹配图片格式,在本地暂存</span>
</span><span id="29" class="l"><a href="#29">29: </a>        <span class="php-keyword1">if</span> (<span class="php-keyword2">preg_match</span>(<span class="php-quote">'/^(data:\s*image\/(\w+);base64,)/'</span>, <span class="php-var">$base64_image</span>, <span class="php-var">$result</span>))
</span><span id="30" class="l"><a href="#30">30: </a>            <span class="php-var">$type</span> = <span class="php-var">$result</span>[<span class="php-num">2</span>];
</span><span id="31" class="l"><a href="#31">31: </a>        <span class="php-keyword1">if</span> (!(<span class="php-var">$type</span> == <span class="php-quote">'png'</span>||<span class="php-var">$type</span> == <span class="php-quote">'jpg'</span>))
</span><span id="32" class="l"><a href="#32">32: </a>            <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \XYException(__METHOD__,-<span class="php-num">30003</span>);
</span><span id="33" class="l"><a href="#33">33: </a>        <span class="php-var">$filePath</span> = APP_PATH.<span class="php-quote">&quot;../Public/Uploads/&quot;</span>;
</span><span id="34" class="l"><a href="#34">34: </a>        <span class="php-keyword1">if</span>(!<span class="php-keyword2">file_exists</span>(<span class="php-var">$filePath</span>))
</span><span id="35" class="l"><a href="#35">35: </a>        {
</span><span id="36" class="l"><a href="#36">36: </a>            <span class="php-keyword2">mkdir</span>(<span class="php-var">$filePath</span>, <span class="php-num">0777</span>);
</span><span id="37" class="l"><a href="#37">37: </a>        }
</span><span id="38" class="l"><a href="#38">38: </a>        <span class="php-var">$fileName</span> = <span class="php-var">$filePath</span>.getUid().<span class="php-keyword2">time</span>().<span class="php-quote">'.'</span>.<span class="php-var">$type</span>;
</span><span id="39" class="l"><a href="#39">39: </a>        <span class="php-keyword1">if</span> (!<span class="php-keyword2">file_put_contents</span>(<span class="php-var">$fileName</span>, <span class="php-keyword2">base64_decode</span>(<span class="php-keyword2">str_replace</span>(<span class="php-var">$result</span>[<span class="php-num">1</span>], <span class="php-quote">''</span>, <span class="php-var">$base64_image</span>))))
</span><span id="40" class="l"><a href="#40">40: </a>            <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \XYException(__METHOD__,-<span class="php-num">30002</span>);
</span><span id="41" class="l"><a href="#41">41: </a>        <span class="php-comment">#TODO 储存成功以后的回调</span>
</span><span id="42" class="l"><a href="#42">42: </a><span class="php-comment">//        $policy = array(</span>
</span><span id="43" class="l"><a href="#43">43: </a><span class="php-comment">//            'callbackUrl' =&gt; 'http://112.112.112.112/callback.php',</span>
</span><span id="44" class="l"><a href="#44">44: </a><span class="php-comment">//            'callbackBody' =&gt; 'filename=$(fname)&amp;filesize=$(fsize)'</span>
</span><span id="45" class="l"><a href="#45">45: </a><span class="php-comment">//        );</span>
</span><span id="46" class="l"><a href="#46">46: </a>        <span class="php-comment">//上传到七牛</span>
</span><span id="47" class="l"><a href="#47">47: </a>        <span class="php-var">$accessKey</span> = C(<span class="php-quote">'accessKey'</span>);
</span><span id="48" class="l"><a href="#48">48: </a>        <span class="php-var">$secretKey</span> = C(<span class="php-quote">'secretKey'</span>);
</span><span id="49" class="l"><a href="#49">49: </a>        log_(<span class="php-quote">'accessKey-----'</span>,<span class="php-var">$accessKey</span>);
</span><span id="50" class="l"><a href="#50">50: </a>        log_(<span class="php-quote">'secretKey-----'</span>,<span class="php-var">$secretKey</span>);
</span><span id="51" class="l"><a href="#51">51: </a>        <span class="php-var">$auth</span> = <span class="php-keyword1">new</span> Auth(<span class="php-var">$accessKey</span>, <span class="php-var">$secretKey</span>);
</span><span id="52" class="l"><a href="#52">52: </a>        <span class="php-var">$bucket</span> = <span class="php-quote">'xingyunbooks'</span>;
</span><span id="53" class="l"><a href="#53">53: </a>        <span class="php-var">$token</span> = <span class="php-var">$auth</span>-&gt;uploadToken(<span class="php-var">$bucket</span>);
</span><span id="54" class="l"><a href="#54">54: </a>        <span class="php-var">$key</span> = <span class="php-var">$name</span>.<span class="php-quote">'.'</span>.<span class="php-var">$type</span>;
</span><span id="55" class="l"><a href="#55">55: </a>        <span class="php-var">$uploadMgr</span> = <span class="php-keyword1">new</span> UploadManager();
</span><span id="56" class="l"><a href="#56">56: </a>        <span class="php-keyword1">list</span>(<span class="php-var">$ret</span>, <span class="php-var">$err</span>) = <span class="php-var">$uploadMgr</span>-&gt;putFile(<span class="php-var">$token</span>, <span class="php-var">$key</span>, <span class="php-var">$fileName</span>);
</span><span id="57" class="l"><a href="#57">57: </a>        <span class="php-keyword1">if</span> (<span class="php-var">$err</span> !== <span class="php-keyword1">null</span>)
</span><span id="58" class="l"><a href="#58">58: </a>        {
</span><span id="59" class="l"><a href="#59">59: </a>            log_(<span class="php-quote">'七牛存储失败数据'</span>,<span class="php-var">$err</span>);
</span><span id="60" class="l"><a href="#60">60: </a>            <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \XYException(__METHOD__,-<span class="php-num">30001</span>);
</span><span id="61" class="l"><a href="#61">61: </a>        }
</span><span id="62" class="l"><a href="#62">62: </a>        <span class="php-comment">//删除无用的对象</span>
</span><span id="63" class="l"><a href="#63">63: </a>        <span class="php-keyword1">unset</span>(<span class="php-var">$auth</span>);
</span><span id="64" class="l"><a href="#64">64: </a>        <span class="php-keyword1">unset</span>(<span class="php-var">$uploadMgr</span>);
</span><span id="65" class="l"><a href="#65">65: </a>        <span class="php-comment">//删除暂存文件</span>
</span><span id="66" class="l"><a href="#66">66: </a>        <span class="php-keyword1">if</span> (<span class="php-keyword2">file_exists</span>(<span class="php-var">$fileName</span>))
</span><span id="67" class="l"><a href="#67">67: </a>            <span class="php-keyword2">unlink</span>(<span class="php-var">$fileName</span>);
</span><span id="68" class="l"><a href="#68">68: </a>        <span class="php-keyword1">return</span> <span class="php-var">$ret</span>;
</span><span id="69" class="l"><a href="#69">69: </a>    }
</span><span id="70" class="l"><a href="#70">70: </a>
</span><span id="71" class="l"><a href="#71">71: </a>    <span class="php-comment">/**
</span></span><span id="72" class="l"><a href="#72">72: </a><span class="php-comment">     * 构造图片下载的URL
</span></span><span id="73" class="l"><a href="#73">73: </a><span class="php-comment">     * @param $domain
</span></span><span id="74" class="l"><a href="#74">74: </a><span class="php-comment">     * @param $key 唯一识别码(图片名,带后缀)
</span></span><span id="75" class="l"><a href="#75">75: </a><span class="php-comment">     * @return string $authUrl 完整的url
</span></span><span id="76" class="l"><a href="#76">76: </a><span class="php-comment">     * @author DizzyLee&lt;728394036@qq.com&gt;
</span></span><span id="77" class="l"><a href="#77">77: </a><span class="php-comment">     */</span>
</span><span id="78" class="l"><a href="#78">78: </a>    <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> getImgUrlByKey(<span class="php-var">$domain</span>,<span class="php-var">$key</span>)
</span><span id="79" class="l"><a href="#79">79: </a>    {
</span><span id="80" class="l"><a href="#80">80: </a>        <span class="php-var">$accessKey</span> = C(<span class="php-quote">'Access_Key'</span>);
</span><span id="81" class="l"><a href="#81">81: </a>        <span class="php-var">$secretKey</span> = C(<span class="php-quote">'Secret_Key'</span>);
</span><span id="82" class="l"><a href="#82">82: </a>        <span class="php-comment">// 构建鉴权对象</span>
</span><span id="83" class="l"><a href="#83">83: </a>        <span class="php-var">$auth</span> = <span class="php-keyword1">new</span> Auth(<span class="php-var">$accessKey</span>, <span class="php-var">$secretKey</span>);
</span><span id="84" class="l"><a href="#84">84: </a>        <span class="php-comment">//baseUrl构造成私有空间的域名/key的形式</span>
</span><span id="85" class="l"><a href="#85">85: </a>        <span class="php-var">$baseUrl</span> = <span class="php-quote">'http://'</span>.<span class="php-var">$domain</span>.<span class="php-quote">'/'</span>.<span class="php-var">$key</span>;
</span><span id="86" class="l"><a href="#86">86: </a>        <span class="php-var">$authUrl</span> = <span class="php-var">$auth</span>-&gt;privateDownloadUrl(<span class="php-var">$baseUrl</span>);
</span><span id="87" class="l"><a href="#87">87: </a>        <span class="php-keyword1">if</span> (!<span class="php-var">$authUrl</span>)
</span><span id="88" class="l"><a href="#88">88: </a>            <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> \XYException(__METHOD__,-<span class="php-num">30004</span>);
</span><span id="89" class="l"><a href="#89">89: </a>        <span class="php-keyword1">return</span> <span class="php-var">$authUrl</span>;
</span><span id="90" class="l"><a href="#90">90: </a>    }
</span><span id="91" class="l"><a href="#91">91: </a>
</span><span id="92" class="l"><a href="#92">92: </a>    <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> qiNiuCallBack()
</span><span id="93" class="l"><a href="#93">93: </a>    {
</span><span id="94" class="l"><a href="#94">94: </a>        <span class="php-keyword1">return</span> <span class="php-num">1</span>;
</span><span id="95" class="l"><a href="#95">95: </a>    }
</span><span id="96" class="l"><a href="#96">96: </a>}</span></code></pre>

	<div id="footer">
		XY Server API alpha API documentation generated by <a href="http://apigen.org">ApiGen</a>
	</div>
</div>
</div>
<script src="resources/combined.js?e1238c180c0ec4879c106550549125735c31011b"></script>
<script src="elementlist.js?65b96360bff0d94f47f8799f2472e5eeb7655dd9"></script>
</body>
</html>
